﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Btssio.Musique;
namespace RDC.DATA.Class
{
    public class Event
    {
        #region Champs

        private string _id = "inconnu";

        private string _titre = "inconnu";

        private List<Artist> _lesArtistes = new List<Artist>();

        private Venue _uneVenue = new Venue();

        private DateTime _startDate = new DateTime();

        private string _urlAffiche = "inconnue";

        private string _urlWebsite = "inconnue";
        

        #endregion

        #region Propriétés

        /// <summary>
        /// Identifiant de l'évènement.
        /// </summary>
        public string id
        {
            get { return _id; }
            set { _id = value; }
        }

        /// <summary>
        /// Titre de l'évènement.
        /// </summary>
        public string titre
        {
            get { return _titre; }
            set { _titre = value; }
        }

        /// <summary>
        /// Liste des artistes participants à l'évènement.
        /// </summary>
        public List<Artist> lesArtistes
        {
            get { return _lesArtistes; }
            set { _lesArtistes = value; }
        }

        /// <summary>
        /// Lieu de l'évènement.
        /// </summary>
        public Venue uneVenue
        {
            get { return _uneVenue; }
            set { _uneVenue = value; }
        }

        /// <summary>
        /// Date de début de l'évènement.
        /// </summary>
        public DateTime startDate
        {
            get { return _startDate; }
            set { _startDate = value; }
        }

        /// <summary>
        /// url de l'affiche de l'évènement.
        /// </summary>
        public string urlAffiche
        {
            get { return _urlAffiche; }
            set { _urlAffiche = value; }
        }

        /// <summary>
        /// url du site web de l'évènement.
        /// </summary>
        public string urlWebsite
        {
            get { return _urlWebsite; }
            set { _urlWebsite = value; }
        }


        #endregion

        #region Méthodes

        /// <summary>
        /// Créer un évènement par défaut.
        /// </summary>
        public Event()
        {
        }

        /// <summary>
        /// Créer un évènement avec toutes les informations.
        /// </summary>
        /// <param name="id">Identifiant de l'évenement</param>
        /// <param name="title">Titre de l'évènement</param>
        /// <param name="lesArtistes">Artistes participants</param>
        /// <param name="uneVenue">Lieu de l'évènement</param>
        /// <param name="startDate">Début de l'évèneemnt</param>
        /// <param name="urlAffiche">Affiche de l'évènement</param>
        /// <param name="urlWebsite">Site web de l'évènement</param>
        public Event(string id, string titre, List<Artist> lesArtistes, Venue uneVenue, DateTime startDate, string urlAffiche, string urlWebsite)
        {
            this.id = id;
            this.titre = titre;
            this.lesArtistes = lesArtistes;
            this.uneVenue = uneVenue;
            this.startDate = startDate;
            this.urlAffiche = urlAffiche;
            this.urlWebsite = urlWebsite;
        }

        public Event(string id, string titre)
        {
            this.id = id;
            this.titre = titre;

        }


        #endregion

    }
}
